package com.example;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyClass {
// 172.16.16.55
    public static void main (String[] args) throws IOException {

        // 参数 端口号
        // 服务端监听哪个端口
        ServerSocket server = new ServerSocket(7890);
        // 获取Socket客户端对象
        // 该方法为阻塞方法，只有客户端连接到该服务端的时候才会往下执行
        while (true) {
            System.out.println("服务端运行, 等待客户端连接");
            Socket socket = server.accept();
            // 代表客户端发送过来的数据
            InputStream is = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            // 代表向客户端发送的数据
            OutputStream os = socket.getOutputStream();
            String line = null;
            while ((line = br.readLine()) != null){
                System.out.println("服务端接收到客户端发送过来的消息: " + line);
                os.write("接到了, 别发了\n".getBytes());
                // 冲一下流
                os.flush();
                if ("bye".equals(line)){
                    break;
                }
            }
            br.close();
            os.close();
            socket.close();
        }


    }
}
